/**
 * @file mmgr_misc.h
 * @brief 
 * @author  ()
 * @version 1.0
 * @date 2024-09-13
 * 
 * @copyright Copyright (C) 2019 Queclink Wireless Solutions (ShenZhen) Co., Ltd. All Rights Reserved.
 * 
 * @par 修改日志:
 * <table>
 * <tr><th>Date       <th>Version <th>Author  <th>Description
 * <tr><td>2024-09-13 <td>1.0     <td>     <td>内容
 * </table>
 */
#ifndef __MMGR_MISC_H
#define __MMGR_MISC_H

/* includes ---------------------------------------------------------------------------------------------------------*/
#include <time.h>
#include "modem/qlmodem/task_modem.h"

#ifdef __cplusplus
extern "C" {
#endif

void mmgr_misc_init(void);
void mmgr_misc_process(void);
void mmgr_misc_free(void);
void mmgr_netreg_update(int32_t prm, void *data, size_t size);
void mmgr_reset_sq_upd_time(void);
int32_t modem_get_signal_quality(int32_t *rssi, int32_t *ber);
int32_t  modem_get_rsrp(int32_t *rsrp);
int32_t modem_get_netreg_status(int32_t *net_status, int32_t *rat_state);

/*******************************************************************************
 * 函数名称：modem_utc_update_rtc_time
 * 功能描述：用MODEM获取的UTC时间更新RTC时间
 * 注    意：如果已经利用GPS更新了RTC时间，则不再使用MODEM提供的UTC
 * 输入参数：utc[I] 从modem获取的utc时间
 * 返 回 值：void
 ******************************************************************************/
 void modem_utc_update_rtc_time(struct tm *utc, int32_t timezone);

/*******************************************************************************
 * 函数名称：rtc_sync_over_net
 * 功能描述：当前系统RTC时间是已跟NET UTC时间同步
 * 输入参数：void
 * 返 回 值：true 已同步  false 未同步
 ******************************************************************************/
bool rtc_sync_over_net(void);


/**
 * @brief 获取基站信息
 * @param  cell             My Param doc
 * @return int32_t 
 */
int32_t modem_get_cell_info(struct cell_info *cell, struct cell_info (*nbr_cell)[5], uint8_t *nbr_count);

#ifdef __cplusplus
}
#endif

#endif /* __MODEM_H */
